using OracleInternal.Json.Sql;

namespace OracleInternal.Json.Common
{
	internal interface IOracleJsonValue
	{
		OracleJsonType GetOracleJsonType();

		string ToJsonString();

		IOracleJsonObject AsJsonObject();

		IOracleJsonArray AsJsonArray();

		OracleJsonString AsJsonString();

		OracleJsonDecimal AsJsonDecimal();

		OracleJsonDouble AsJsonDouble();

		OracleJsonFloat AsJsonFloat();

		OracleJsonNumber AsJsonNumber();

		OracleJsonIntervalDS AsJsonIntervalDS();

		OracleJsonIntervalYM AsJsonIntervalYM();

		OracleJsonTimestamp AsJsonTimestamp();

		OracleJsonDate AsJsonDate();

		OracleJsonBinary AsJsonBinary();
	}
}
